c8984d
@@ -31,6 +31,7 @@
import javax.servlet.jsp.JspFactory;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.tiles.TilesApplicationContext;
+import org.apache.tiles.TilesContainer;
 import org.apache.tiles.TilesException;
 import org.apache.tiles.awareness.TilesApplicationContextAware;
 import org.apache.tiles.context.AbstractTilesApplicationContextFactory;
@@ -54,6 +55,7 @@
import org.apache.tiles.impl.mgmt.CachingTilesContainer;
 import org.apache.tiles.locale.LocaleResolver;
 import org.apache.tiles.preparer.BasicPreparerFactory;
 import org.apache.tiles.preparer.PreparerFactory;
+import org.apache.tiles.renderer.RendererFactory;
 import org.apache.tiles.servlet.context.ServletUtil;
 import org.apache.tiles.startup.BasicTilesInitializer;
 import org.apache.tiles.startup.TilesInitializer;
@@ -533,6 +535,16 @@
public class TilesConfigurer implements ServletContextAware, InitializingBean, D
 				Object baefValue = baefCtor.newInstance(evaluator);
 				Method setter = container.getClass().getMethod("setAttributeEvaluatorFactory", aef);
 				setter.invoke(container, baefValue);
+				Method getRequestContextFactory = BasicTilesContainer.class.getDeclaredMethod("getRequestContextFactory");
+				getRequestContextFactory.setAccessible(true);
+				Method createRendererFactory = BasicTilesContainerFactory.class.getDeclaredMethod("createRendererFactory",
+						TilesApplicationContext.class, TilesRequestContextFactory.class, TilesContainer.class, aef);
+				createRendererFactory.setAccessible(true);
+				BasicTilesContainerFactory tcf = new BasicTilesContainerFactory();
+				RendererFactory rendererFactory = (RendererFactory) createRendererFactory.invoke(
+						tcf, container.getApplicationContext(), getRequestContextFactory.invoke(container),
+						container, baefValue);
+				container.setRendererFactory(rendererFactory);
 			}
 			catch (Exception ex) {
 				throw new IllegalStateException("Cannot activate ELAttributeEvaluator", ex);
